package sicnu.cs.aps.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import sicnu.cs.aps.common.enums.ActivitySignEnum;
import sicnu.cs.aps.domain.dto.AnswerKvDto;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * description 小队信息vo
 *
 * @author chenhetao
 * @version 1.0
 * @className TeamInfoVo
 * @packageName sicnu.cs.aps.domain.vo
 * @date 2022/6/2 11:27
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TeamInfoVo implements Serializable {
    private static final long serialVersionUID = 3762852228857241512L;
    /**
     * 小队id
     */
    private Long id;
    /**
     * 小队名称
     */
    private String name;
    /**
     * 队长ID
     */
    private Long userId;
    /**
     * 活动ID
     */
    private Long activityId;
    /**
     * 活动名称
     */
    private String activityName;
    /**
     * 报名状态
     */
    private ActivitySignEnum status;
    /**
     * 报名信息创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 队伍队长信息
     */
    private StudentInfoVo captain;
    /**
     * 队伍学生信息
     */
    private List<StudentInfoVo> students;
    /**
     * 指导老师信息
     */
    private TeacherInfoVo teacher;
    /**
     * 小队生命线
     */
    private List<TimeEventVo> timeEvents;
    /**
     * 最后操作时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastOpTime;
    /**
     * 学院意见
     */
    private String collegeOpinion;
    /**
     * 学校意见
     */
    private String universityOpinion;
    /**
     * 小队策划
     */
    private ActivityPlanVo plan;
    /**
     * 小队填写的问卷信息
     */
    private AnswerKvDto questionAnswer;


}
